Telegram Group & Telegram Channel
This media is not supported in your browser
VIEW IN TELEGRAM
Задача: Что делает эта странная функция teleport и почему она запускает цикл 32 раза?

🧠 Подсказка:
На первый взгляд это выглядит как хаотичная мешанина побитовых операций, но на самом деле здесь происходит реверс битов (bitwise reversal) — отражение битов справа налево.

Но вопрос — зачем делать это 32 раза подряд?

🔍 Что происходит:

Каждый шаг в теле цикла — это стандартная техника реверса битов через маски и сдвиги:

0xAAAAAAAA, 0xCCCCCCCC, и т.д. — маски по битовым паттернам

Итерация for _ in range(32) делает это снова и снова…

💣 Фишка: первый проход уже полностью отражает 32-битное число.
Остальные 31 повтор возвращают число в исходное состояние — но в побитово инвертированном порядке!

📌 То есть:

Чётное количество циклов — возвращает в исходную позицию

Нечётное — делает реверс

👉 Ответ на teleport(0x12345678) будет реверс битов этого числа.
Ожидаемое: 0x1e6a2c48 (в зависимости от реализации может отличаться).

🎯 Челлендж для продвинутых:

Упростите функцию до одного вызова (без цикла)

Напишите inverse_teleport(x), которая возвращает исходное число обратно

🧩 Эта техника используется в:
— алгоритмах FFT (быстрые преобразования Фурье)
— графике
— реверсировании хэшей
— low-level оптимизациях для SIMD



tg-me.com/python_job_interview/1124
Create:
Last Update:

Задача: Что делает эта странная функция teleport и почему она запускает цикл 32 раза?

🧠 Подсказка:
На первый взгляд это выглядит как хаотичная мешанина побитовых операций, но на самом деле здесь происходит реверс битов (bitwise reversal) — отражение битов справа налево.

Но вопрос — зачем делать это 32 раза подряд?

🔍 Что происходит:

Каждый шаг в теле цикла — это стандартная техника реверса битов через маски и сдвиги:

0xAAAAAAAA, 0xCCCCCCCC, и т.д. — маски по битовым паттернам

Итерация for _ in range(32) делает это снова и снова…

💣 Фишка: первый проход уже полностью отражает 32-битное число.
Остальные 31 повтор возвращают число в исходное состояние — но в побитово инвертированном порядке!

📌 То есть:

Чётное количество циклов — возвращает в исходную позицию

Нечётное — делает реверс

👉 Ответ на teleport(0x12345678) будет реверс битов этого числа.
Ожидаемое: 0x1e6a2c48 (в зависимости от реализации может отличаться).

🎯 Челлендж для продвинутых:

Упростите функцию до одного вызова (без цикла)

Напишите inverse_teleport(x), которая возвращает исходное число обратно

🧩 Эта техника используется в:
— алгоритмах FFT (быстрые преобразования Фурье)
— графике
— реверсировании хэшей
— low-level оптимизациях для SIMD

BY Python вопросы с собеседований


Share with your friend now:
tg-me.com/python_job_interview/1124

View MORE
Open in Telegram


Python вопросы с собеседований Telegram | DID YOU KNOW?

Date: |

Mr. Durov launched Telegram in late 2013 with his brother, Nikolai, just months before he was pushed out of VK, the Russian social-media platform he founded. Mr. Durov pitched his new app—funded with the proceeds from the VK sale—less as a business than as a way for people to send messages while avoiding government surveillance and censorship.

NEWS: Telegram supports Facetime video calls NOW!

Secure video calling is in high demand. As an alternative to Zoom, many people are using end-to-end encrypted apps such as WhatsApp, FaceTime or Signal to speak to friends and family face-to-face since coronavirus lockdowns started to take place across the world. There’s another option—secure communications app Telegram just added video calling to its feature set, available on both iOS and Android. The new feature is also super secure—like Signal and WhatsApp and unlike Zoom (yet), video calls will be end-to-end encrypted.

Python вопросы с собеседований from de


Telegram Python вопросы с собеседований
FROM USA